﻿/*******************************************************************************
 *  Copyright 2008-2014 OBS.com, Inc. or its affiliates. All Rights Reserved.
 *  Licensed under the Apache License, Version 2.0 (the "License"). You may not use
 *  this file except in compliance with the License. A copy of the License is located at
 *
 *  
 *
 *  or in the "license" file accompanying this file.
 *  This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 *  CONDITIONS OF ANY KIND, either express or implied. See the License for the
 *  specific language governing permissions and limitations under the License.
 * *****************************************************************************
 *    __  _    _  ___
 *   (  )( \/\/ )/ __)
 *   /__\ \    / \__ \
 *  (_)(_) \/\/  (___/
 *
 *  AWS SDK for .NET
 *  API Version: 2006-03-01
 *
 */

using System.Reflection.Emit;
using System.Runtime.CompilerServices;

namespace OBS.Util
{
    public abstract class HeaderKeys
    {
        public const string IfModifiedSinceHeader = "If-Modified-Since";
        public const string IfMatchHeader = "If-Match";
        public const string IfNoneMatchHeader = "If-None-Match";
        public const string IfUnmodifiedSinceHeader = "If-Unmodified-Since";
        public const string ContentRangeHeader = "Content-Range";
        public const string ContentTypeHeader = "Content-Type";
        public const string ContentLengthHeader = "Content-Length";
        public const string ContentMD5Header = "Content-MD5";
        public const string ContentEncodingHeader = "Content-Encoding";
        public const string ContentDispositionHeader = "Content-Disposition";
        public const string ETagHeader = "ETag";
        public const string Expires = "Expires";
        public const string AuthorizationHeader = "Authorization";
        public const string HostHeader = "host";
        public const string UserAgentHeader = "User-Agent";
        public const string LocationHeader = "location";
        public const string DateHeader = "Date";
        public const string RangeHeader = "Range";
        public const string ExpectHeader = "Expect";
        public const string AcceptHeader = "Accept";
        public const string ConnectionHeader = "Connection";

        //2015-6-10 w00322557 Added Options request headers
        public const string Origin = "Origin";
        public const string AccessControlRequestMethod = "Access-Control-Request-Method";
        public const string AccessControlRequestHeaders = "Access-Control-Request-Headers";
     
        public const string RequestIdHeader = "x-amzn-RequestId";
        public const string XAmzId2Header = "x-amz-id-2";
        public const string XAmzRequestIdHeader = "x-amz-request-id";
        public const string XAmzDateHeader = "X-Amz-Date";
        public const string XAmzSignedHeadersHeader = "X-Amz-SignedHeaders";
        public const string XAmzContentSha256Header = "X-Amz-Content-SHA256";
        public const string XAmzDecodedContentLengthHeader = "X-Amz-Decoded-Content-Length";
        public const string XAmzSecurityTokenHeader = "x-amz-security-token";
        public const string XAmzAuthorizationHeader = "X-Amzn-Authorization";
        public const string XAmzNonceHeader = "x-amz-nonce";
        public const string XAmzServerSideEncryptionHeader = "x-amz-server-side-encryption";
        public const string XAmzServerSideEncryptionAwsKmsKeyIdHeader = "x-amz-server-side-encryption-aws-kms-key-id";
        public const string XAmzServerSideEncryptionContent = "x-amz-server-side-encryption-context";

        public const string XAmzSSECustomerAlgorithmHeader = "x-amz-server-side-encryption-customer-algorithm";
        public const string XAmzSSECustomerKeyHeader = "x-amz-server-side-encryption-customer-key";
        public const string XAmzSSECustomerKeyMD5Header = "x-amz-server-side-encryption-customer-key-MD5";

        public const string XAmzCopySourceSSECustomerAlgorithmHeader = "x-amz-copy-source-server-side-encryption-customer-algorithm";
        public const string XAmzCopySourceSSECustomerKeyHeader = "x-amz-copy-source-server-side-encryption-customer-key";
        public const string XAmzCopySourceSSECustomerKeyMD5Header = "x-amz-copy-source-server-side-encryption-customer-key-MD5";

        public const string XAmzStorageClassHeader = "x-amz-storage-class";
        public const string XAmzDefaultStorageClassHeader = "x-default-storage-class";
        public const string XAmzWebsiteRedirectLocationHeader = "x-amz-website-redirect-location";
        public const string XAmzContentLengthHeader = "x-amz-content-length";
        public const string XAmzAclHeader = "x-amz-acl";
        public const string XAmzCopySourceHeader = "x-amz-copy-source";
        public const string XAmzCopySourceRangeHeader = "x-amz-copy-source-range";
        public const string XAmzCopySourceIfMatchHeader = "x-amz-copy-source-if-match";
        public const string XAmzCopySourceIfModifiedSinceHeader = "x-amz-copy-source-if-modified-since";
        public const string XAmzCopySourceIfNoneMatchHeader = "x-amz-copy-source-if-none-match";
        public const string XAmzCopySourceIfUnmodifiedSinceHeader = "x-amz-copy-source-if-unmodified-since";
        public const string XAmzMetadataDirectiveHeader = "x-amz-metadata-directive";
        public const string XAmzMfaHeader = "x-amz-mfa";
        public const string XAmzRestoreHeader = "x-amz-restore";
    }
}
